PROJ = lsq
SOURCE := $(PROJ).c
GENDATA := $(PROJ)_data
DATA = testdata.txt
IMAGE = output.eps
REF = references.bib

all: $(PROJ) $(GENDATA) $(DATA) cp $(PROJ).pdf mv sc1

exe: $(PROJ)

doc: $(PROJ) $(GENDATA) $(DATA) cp $(PROJ).pdf mv sc2

$(PROJ): src/$(PROJ).c
	gcc -o $@ $<

$(GENDATA): src/$(GENDATA).c
	gcc -o $@ $<

$(DATA): $(GENDATA)
	./$<
	./$(PROJ)

$(IMAGE): $(DATA)
	gnuplot $(PROJ).gp

cp:
	cp doc/lsq.tex .
	cp doc/references.bib .

$(PROJ).pdf: $(PROJ).tex $(IMAGE) $(REF)
	xelatex $(PROJ)
	bibtex $(PROJ)
	xelatex $(PROJ)
	xelatex $(PROJ)

mv:
	mv lsq.pdf ./doc

sc1:
	rm -r lsq.tex
	rm -r references.bib

sc2:
	rm -r lsq.tex
	rm -r references.bib
	rm -r lsq

clean:
	rm -rf *.aux *.bbl *.blg *.log *.out *.pdf *.toc \
	$(PROJ) $(GENDATA) $(DATA) $(IMAGE) \
	*.nav *.snm *.dat \
	doc/lsq.pdf

.PHONY: all clean
